#ifndef PORTABLE_AOT_H_
#define PORTABLE_AOT_H_

#include <string_view>
#include <vector>

#include "include/v8-local-handle.h"
#include "include/v8-script.h"

namespace portable {

// options
extern bool enable_copyable;
class AOT {
 public:
  static uintptr_t precompile_with_ir_new_be(v8::Isolate* isolate,
                                             v8::Local<v8::String> source,
                                             std::vector<uint8_t>* pbc_buffer,
                                             bool debug, bool block_scope);
  static constexpr std::string_view dummy_src_str{"/*bytecode*/"};
};

}  // namespace portable

#endif  // PORTABLE_AOT_H_